package com.ruoyi.basebill.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * OMS收货确认对象 t_oms_receiptbill
 *
 * @author ptt
 * @date 2023-02-10
 */
public class OmsReceiptbill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 销售收货单号 */
    @Excel(name = "销售收货单号",needMerge = true)
    private String code;

    /** 来源系统 */
    @Excel(name = "来源系统",needMerge = true)
    private String srcsys;

    @Excel(name = "来源上游平台",needMerge = true)
    private String sourceplatformcode;

    @Excel(name = "来源上游单号",needMerge = true)
    private String sourceordercode;

    /** 销售订单 */
    @Excel(name = "销售订单",needMerge = true)
    private String refordercode;

    /** 发货单号 */
    @Excel(name = "发货单号",needMerge = true)
    private String shipmentcode;

    /** 客户编码 */
    @Excel(name = "客户编码",needMerge = true)
    private String customercode;

    /** 客户名称 */
    @Excel(name = "客户名称",needMerge = true)
    private String customername;

    /** 销售组织编码 */
    @Excel(name = "销售组织编码",needMerge = true)
    private String invoicecode;

    /** 销售组织名称 */
    @Excel(name = "销售组织名称",needMerge = true)
    private String invoicename;

    /** 成本中心编码 */
    @Excel(name = "成本中心编码",needMerge = true)
    private String costcentercode;

    /** 成本中心名称 */
    @Excel(name = "成本中心名称",needMerge = true)
    private String costcentername;

    /** 厂编 */
    @Excel(name = "厂编",needMerge = true)
    private String factorymake;

    /** 客户订单号 */
    @Excel(name = "客户订单号",needMerge = true)
    private String customerorder;

    /** 销售组织仓库编码 */
    @Excel(name = "销售组织仓库编码",needMerge = true)
    private String saleswarehousecode;

    /** 销售组织仓库名称 */
    @Excel(name = "销售组织仓库名称",needMerge = true)
    private String saleswarehousename;

    /** 库存组织编码 */
    @Excel(name = "库存组织编码",needMerge = true)
    private String inventoryorganizationcode;

    /** 库存组织名称 */
    @Excel(name = "库存组织名称",needMerge = true)
    private String inventoryorganizationname;

    /** 发货仓库编码 */
    @Excel(name = "发货仓库编码",needMerge = true)
    private String facilitycode;

    /** 发货仓库名称 */
    @Excel(name = "发货仓库名称",needMerge = true)
    private String facilityname;

    /** 收货仓库编码 */
    @Excel(name = "收货仓库编码",needMerge = true)
    private String receivefacilitycode;

    /** 收货仓库名称 */
    @Excel(name = "收货仓库名称",needMerge = true)
    private String receivefacilityname;

    /** 收货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收货日期", width = 30, dateFormat = "yyyy-MM-dd",needMerge = true)
    private Date receiptdate;

    /** 币别 */
    @Excel(name = "币别",needMerge = true)
    private String currency;

    /** 汇率 */
    @Excel(name = "汇率",needMerge = true)
    private BigDecimal exchangerate;

    /** 创建时间 */
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd",needMerge = true)
    private Date createtime;

    /** 是否生成下游单据 */
    @Excel(name = "是否生成下游单据",needMerge = true)
    private Long iscreatebill;

    /** 失败原因 */
    @Excel(name = "失败原因",needMerge = true)
    private String reason;

    /** 是否生成外部销售单 */
    @Excel(name = "是否生成外部销售单",needMerge = true)
    private Long iscreateoutbill;

    /** 外部销售单失败原因 */
    @Excel(name = "外部销售单失败原因",needMerge = true)
    private String outreason;

    /** 备注 */
    @Excel(name = "备注",needMerge = true)
    private String buyernote;

    /** 出库单号 */
    @Excel(name = "出库单号",needMerge = true)
    private String shipmentheadercode;

    /** 汇总单号 */
    private String sumbillNumber;

    /** 销售订单类型 */
    @Excel(name = "销售订单类型",needMerge = true)
    private String internalinstructiontype;

    /** OMS收货确认分录信息 */
    @Excel(name = "收货确认分录")
    private List<OmsReceiptbillentry> omsReceiptbillentryList;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setCode(String code)
    {
        this.code = code;
    }

    public String getCode()
    {
        return code;
    }

    public String getSrcsys() {
        return srcsys;
    }

    public void setSrcsys(String srcsys) {
        this.srcsys = srcsys;
    }

    public String getSourceplatformcode() {
        return sourceplatformcode;
    }

    public void setSourceplatformcode(String sourceplatformcode) {
        this.sourceplatformcode = sourceplatformcode;
    }

    public String getSourceordercode() {
        return sourceordercode;
    }

    public void setSourceordercode(String sourceordercode) {
        this.sourceordercode = sourceordercode;
    }

    public void setRefordercode(String refordercode)
    {
        this.refordercode = refordercode;
    }

    public String getRefordercode()
    {
        return refordercode;
    }
    public void setShipmentcode(String shipmentcode)
    {
        this.shipmentcode = shipmentcode;
    }

    public String getShipmentcode()
    {
        return shipmentcode;
    }
    public void setCustomercode(String customercode)
    {
        this.customercode = customercode;
    }

    public String getCustomercode()
    {
        return customercode;
    }
    public void setCustomername(String customername)
    {
        this.customername = customername;
    }

    public String getCustomername()
    {
        return customername;
    }
    public void setInvoicecode(String invoicecode)
    {
        this.invoicecode = invoicecode;
    }

    public String getInvoicecode()
    {
        return invoicecode;
    }
    public void setInvoicename(String invoicename)
    {
        this.invoicename = invoicename;
    }

    public String getInvoicename()
    {
        return invoicename;
    }
    public void setCostcentercode(String costcentercode)
    {
        this.costcentercode = costcentercode;
    }

    public String getCostcentercode()
    {
        return costcentercode;
    }
    public void setCostcentername(String costcentername)
    {
        this.costcentername = costcentername;
    }

    public String getCostcentername()
    {
        return costcentername;
    }
    public void setFactorymake(String factorymake)
    {
        this.factorymake = factorymake;
    }

    public String getFactorymake()
    {
        return factorymake;
    }
    public void setCustomerorder(String customerorder)
    {
        this.customerorder = customerorder;
    }

    public String getCustomerorder()
    {
        return customerorder;
    }
    public void setSaleswarehousecode(String saleswarehousecode)
    {
        this.saleswarehousecode = saleswarehousecode;
    }

    public String getSaleswarehousecode()
    {
        return saleswarehousecode;
    }
    public void setSaleswarehousename(String saleswarehousename)
    {
        this.saleswarehousename = saleswarehousename;
    }

    public String getSaleswarehousename()
    {
        return saleswarehousename;
    }
    public void setInventoryorganizationcode(String inventoryorganizationcode)
    {
        this.inventoryorganizationcode = inventoryorganizationcode;
    }

    public Date getCreatetime() {
        return createtime;
    }

    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    public String getInventoryorganizationcode()
    {
        return inventoryorganizationcode;
    }
    public void setInventoryorganizationname(String inventoryorganizationname)
    {
        this.inventoryorganizationname = inventoryorganizationname;
    }

    public String getInventoryorganizationname()
    {
        return inventoryorganizationname;
    }
    public void setFacilitycode(String facilitycode)
    {
        this.facilitycode = facilitycode;
    }

    public String getFacilitycode()
    {
        return facilitycode;
    }
    public void setFacilityname(String facilityname)
    {
        this.facilityname = facilityname;
    }

    public String getFacilityname()
    {
        return facilityname;
    }
    public void setReceivefacilitycode(String receivefacilitycode)
    {
        this.receivefacilitycode = receivefacilitycode;
    }

    public String getReceivefacilitycode()
    {
        return receivefacilitycode;
    }
    public void setReceivefacilityname(String receivefacilityname)
    {
        this.receivefacilityname = receivefacilityname;
    }

    public String getReceivefacilityname()
    {
        return receivefacilityname;
    }
    public void setReceiptdate(Date receiptdate)
    {
        this.receiptdate = receiptdate;
    }

    public Date getReceiptdate()
    {
        return receiptdate;
    }
    public void setCurrency(String currency)
    {
        this.currency = currency;
    }

    public String getCurrency()
    {
        return currency;
    }
    public void setExchangerate(BigDecimal exchangerate)
    {
        this.exchangerate = exchangerate;
    }

    public BigDecimal getExchangerate()
    {
        return exchangerate;
    }
    public void setIscreatebill(Long iscreatebill)
    {
        this.iscreatebill = iscreatebill;
    }

    public Long getIscreatebill()
    {
        return iscreatebill;
    }
    public void setReason(String reason)
    {
        this.reason = reason;
    }

    public String getReason()
    {
        return reason;
    }

    public Long getIscreateoutbill() {
        return iscreateoutbill;
    }

    public void setIscreateoutbill(Long iscreateoutbill) {
        this.iscreateoutbill = iscreateoutbill;
    }

    public String getOutreason() {
        return outreason;
    }

    public void setOutreason(String outreason) {
        this.outreason = outreason;
    }

    public String getBuyernote() {
        return buyernote;
    }

    public void setBuyernote(String buyernote) {
        this.buyernote = buyernote;
    }

    public String getShipmentheadercode() {
        return shipmentheadercode;
    }

    public void setShipmentheadercode(String shipmentheadercode) {
        this.shipmentheadercode = shipmentheadercode;
    }

    public String getSumbillNumber() {
        return sumbillNumber;
    }

    public void setSumbillNumber(String sumbillNumber) {
        this.sumbillNumber = sumbillNumber;
    }

    public String getInternalinstructiontype() {
        return internalinstructiontype;
    }

    public void setInternalinstructiontype(String internalinstructiontype) {
        this.internalinstructiontype = internalinstructiontype;
    }

    public List<OmsReceiptbillentry> getOmsReceiptbillentryList()
    {
        return omsReceiptbillentryList;
    }

    public void setOmsReceiptbillentryList(List<OmsReceiptbillentry> omsReceiptbillentryList)
    {
        this.omsReceiptbillentryList = omsReceiptbillentryList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("code", getCode())
            .append("srcsys", getSrcsys())
            .append("refordercode", getRefordercode())
            .append("shipmentcode", getShipmentcode())
            .append("customercode", getCustomercode())
            .append("customername", getCustomername())
            .append("invoicecode", getInvoicecode())
            .append("invoicename", getInvoicename())
            .append("costcentercode", getCostcentercode())
            .append("costcentername", getCostcentername())
            .append("factorymake", getFactorymake())
            .append("customerorder", getCustomerorder())
            .append("saleswarehousecode", getSaleswarehousecode())
            .append("saleswarehousename", getSaleswarehousename())
            .append("inventoryorganizationcode", getInventoryorganizationcode())
            .append("inventoryorganizationname", getInventoryorganizationname())
            .append("facilitycode", getFacilitycode())
            .append("facilityname", getFacilityname())
            .append("receivefacilitycode", getReceivefacilitycode())
            .append("receivefacilityname", getReceivefacilityname())
            .append("receiptdate", getReceiptdate())
            .append("currency", getCurrency())
            .append("exchangerate", getExchangerate())
            .append("createtime", getCreatetime())
            .append("iscreatebill", getIscreatebill())
            .append("reason", getReason())
            .append("iscreateoutbill", getIscreateoutbill())
            .append("outreason", getOutreason())
            .append("buyernote", getBuyernote())
            .append("shipmentheadercode", getShipmentheadercode())
            .append("internalinstructiontype", getInternalinstructiontype())
            .append("omsReceiptbillentryList", getOmsReceiptbillentryList())
            .toString();
    }
}
